package fr.p10.miage.catalogue.model;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class ListeDvd {

    List<Dvd> dvd = new ArrayList<Dvd>();
    private Connection cx;

    public ListeDvd() {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (Exception ex) {
            System.err.println("Erreur lors du chargement du driver");
            System.exit(1);
        }
        try {
            /**
             * Connection à la base - Étape 2
             */
            String url = "jdbc:oracle:thin:@miage03.dmiage.u-paris10.fr:"
                    + "1521:MIAGE";
            this.cx = DriverManager.getConnection(url, "bettke",
                    "apprentis2012pw");
        } catch (SQLException ex) {
            System.err.println("Erreur lors de la cx à la base" + ex);
            System.exit(1);
        }
    }

    public List<Dvd> getDvd() {
        try {
            Statement st = this.cx.createStatement();
            ResultSet rs = st.executeQuery("SELECT * FROM Catalogue");
            /**
             * Affichage du résultat - Étape 5
             */
            while (rs.next()) {
                String description = rs.getString("Description");
                float prix = rs.getFloat("Prix");
                dvd.add(new Dvd(description, prix));
            }
            rs.close();
            st.close();
            cx.close();
        } catch (SQLException ex) {
            System.err.println("Erreur lors de la cx à la base" + ex);
            System.exit(1);
        }
        return dvd;
    }

    public void setDvd(List<Dvd> dvd) {
        this.dvd = dvd;
    }

    
    /**
     * Création et exécution d'une requête - Étapes 3 & 4
     */
//            for (int i=0;i<dvd.size();i++) {
//                out.println(dvd.get(i).getDescription());                
//            }
//            //Insertion Dvd
//            cx.setAutoCommit(false);
//            st.executeUpdate("INSERT INTO Correction VALUES ("++"
//                    + "'Dufour','Michel',30)");
//            cx.commit();
    /**
     * Fermetures - Étape 6
     */
//        rs.close();
//        st.close();
//        cx.close();
//    }
//    catch (SQLException ex
//
//    
//        ) {
//            System.err.println("Erreur lors de la cx à la base" + ex);
//        System.exit(1);
//    }
}
